package com.live.stamp.web.message.service;

import com.amazonaws.services.dynamodbv2.xspec.B;
import com.live.stamp.base.service.impl.BaseSupportServiceImpl;
import com.live.stamp.web.message.model.TMessage;
import com.live.stamp.web.message.vo.TMessageVo;
import com.live.stamp.web.stamp.model.TStampComment;
import com.live.stamp.web.stamp.vo.TStampInfoVo;
import com.live.stamp.web.user.vo.TUserVo;
import org.springframework.boot.container.core.common.BusinessException;

import java.util.List;
import java.util.Map;

/**
 * @author cwd E-mail: wendong.cao@jsxfedu.com
 * @version 1
 * @date 2018/5/12 15:52
 */
public interface MessageService {

    /**
     * 添加消息
     * @param tMessage
     * @throws BusinessException
     */
    void addMessage(TMessage tMessage) throws BusinessException;

    /**
     * 消息列表
     * @param tMessage
     * @return
     * @throws BusinessException
     */
    List<TMessage> messageList(TMessage tMessage) throws BusinessException;

    /**
     * 获取消息内容
     * @param tMessage
     * @return
     * @throws BusinessException
     */
    TMessage getOneMessage(TMessage tMessage) throws BusinessException;

    void sendCommonStampMessage(TStampComment tStampComment) throws BusinessException;

    /**
     * 发送关注消息
     * @param tUserVo
     * @throws BusinessException
     */
    void sendAttenMessage(TUserVo tUserVo) throws BusinessException;

    String isHaveNewMessage() throws BusinessException;

    /**
     * 消息首页面内容
     * @return
     * @throws BusinessException
     */
    Map<String, Object> homePageMessage() throws BusinessException;

    /**
     * 获取评论消息列表
     * @return
     * @throws BusinessException
     */
    List<TMessageVo> getCommonMessageList(TMessage tMessage) throws BusinessException;

    List<TMessage> getAttenMessageList(TMessage tMessage) throws BusinessException;
}
